Skip to content

[IMP] Bump GitHub Actions to Node.js 24-compatible versions#201

Merged
max3903 merged 20 commits into
masterfrom
fix-node20-deprecations
Jun 6, 2026
Merged

[IMP] Bump GitHub Actions to Node.js 24-compatible versions#201
max3903 merged 20 commits into
masterfrom
fix-node20-deprecations

Conversation

@max3903

@max3903 max3903 commented Jun 6, 2026

Copy link
Copy Markdown
Member

Summary

Pin GitHub Actions to latest patch versions that support Node.js 24, ahead of the September 16th, 2026 deadline when Node.js 20 will be removed from GitHub runners.

Changes

  • actions/checkout: v4v4.2.2
  • docker/login-action: v3v3.4.0

Applies to test.yml, publish.yml, and ci.yaml.

Test plan

  • Confirm Test workflow passes with no Node.js deprecation warnings
  • Confirm Lint and Test Charts workflow passes

max3903 added 20 commits June 6, 2026 19:55
actions/checkout@v4 and docker/login-action@v3 will stop working on
September 16th, 2026 when Node.js 20 is removed from GitHub runners.
Pin to latest patch versions that support Node.js 24:

- actions/checkout: v4 -> v4.2.2
- docker/login-action: v3 -> v3.4.0

Applies to test.yml, publish.yml, and ci.yaml.
App images that depend on our Ubuntu base now reference it via
ghcr.io/ursais/ubuntu-24.04:latest instead of a bare local tag.

- odoo/19.0/Dockerfile: FROM ghcr.io/ursais/ubuntu-24.04:latest
- backup/Dockerfile: FROM ghcr.io/ursais/ubuntu-24.04:latest
- test.yml: tag OS images with both local and ghcr.io names so
  app builds resolve the reference correctly in CI
- Rename title from OSI to Gray Matter Logic
- Add CI/CD status badges for Test and Publish workflows
- Remove images no longer in the repo (Apache, Nginx, ProFTPD, Backup,
  MailHog, CentOS, Debian, Red Hat, old Ubuntu versions, old Odoo versions)
- Add Odoo 19.0 and Ubuntu 24.04
- Document ghcr.io image references for each image
- Simplify structure to match what is actually maintained
- Add TARGETARCH ARG and sha1sum verification for wkhtmltopdf download,
  matching the approach used by the official Odoo Docker image
- The jammy .deb is intentional: no noble package exists upstream and
  the jammy build works correctly on Ubuntu 24.04 (Noble)
- Support amd64 and arm64 architectures
- Change ODOO_RELEASE default from 'latest' to '20250101' so builds
  are reproducible; override with --build-arg ODOO_RELEASE=<date> to
  get a newer nightly
python:3.6 reached end-of-life in December 2021. Switch to 3.13-slim
for security patches and a smaller image footprint.
… frepple/8/

The nested frepple/8/frepple/Dockerfile path was inconsistent with every
other image in the repo (e.g. odoo/19.0/Dockerfile, ubuntu/24.04/Dockerfile).
Move all files up one level to frepple/8/.
- Add docker/setup-buildx-action@v3
- Build and push linux/amd64 and linux/arm64 manifests in one step
  using docker buildx build --platform
- Remove docker system prune -a -f which was deleting the ubuntu base
  image needed by subsequent app builds; buildx pushes directly to
  the registry so no local pruning is needed
v1.17, v1.18, and v1.19 reached end-of-life in 2021-2022.
Switch to currently supported versions:
- v1.28.13 (EOL Oct 2024, still widely deployed)
- v1.29.8
- v1.30.4
- Fix odoo-19 submodule: camptocamp/odoo-cloud-platform has no 19.0
  branch; switch to ursais/odoo-cloud-platform which has it
- Disable check-version-increment in ct.yaml to avoid requiring a
  chart version bump on every PR that touches chart files
- Bump postgresql chart version to 2.1 to reflect recent maintainer
  rebranding changes
ct lint requires at least a templates/ directory to consider a chart
valid. The postgresql chart was a stub with no templates. Add a minimal
NOTES.txt so chart-testing can lint it cleanly.
apiVersion: v1 is deprecated and rejected by current helm/chart-testing.
Switch to v2, remove the v1-only 'engine' field, update appVersion to
match the current PostgreSQL 16 base image, and normalize version to
semver 2.1.0.
The 19.0 branch exists on camptocamp but doesn't appear in the
standard branch listing (paginated API). The original URL was correct.
helm/chart-testing-action@v2.7.0 setup step was failing (exit 1).
Bump to v2.8.0 (latest) which uses Node.js 24-compatible dependencies.
Also bump azure/setup-helm from v4 to v5 for the same reason.
ct lint requires at least one Kubernetes object definition in templates/.
Add a minimal ConfigMap to satisfy the linter.
…harts

ct lint needs to compare against the target branch to determine which
charts have changed. Adding explicit target-branch: master ensures it
works correctly in PR context.
The jammy wkhtmltopdf .deb requires X11 and font libraries that are not
included in the minimal ubuntu-24.04 base image. Add:
  fontconfig, libx11-6, libxcb1, libxext6, libxrender1

These are the same dependencies used by the official Odoo Docker image.
Pin to the latest available nightly (sourced from odoo/docker official repo).
Also restore odoo to the APPS list in test.yml after diagnostic removal.
@max3903 max3903 merged commit ee3d70a into master Jun 6, 2026
9 checks passed
@max3903 max3903 deleted the fix-node20-deprecations branch June 6, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant